package br.com.studyLife.controller;

import java.util.List;

import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.studyLife.dao.AlertaDao;
import br.com.studyLife.dao.UsuarioDao;
import br.com.studyLife.interceptor.MeuPerfil;
import br.com.studyLife.modelo.Alerta;
import br.com.studyLife.modelo.UsuarioWeb;

@Resource
public class AlertaController {

	private final AlertaDao dao;
	private final UsuarioDao usuarioDao;
	private final Result result;
	private final UsuarioWeb usuarioWeb;
	
	public AlertaController(AlertaDao dao, Result result, UsuarioDao usuarioDao, UsuarioWeb usuarioWeb) {
		this.dao = dao;
		this.result = result;
		this.usuarioDao = usuarioDao;
		this.usuarioWeb = usuarioWeb;
	}
	
	@Post @Path("/alerta/novoAmigo")
	public void novoAmigo(Alerta alerta) {
		alerta.setDestinatario(usuarioDao.procura(alerta.getDestinatario().getId()));
		alerta.setRemetente(usuarioDao.procura(usuarioWeb.getUser().getId()));

		alerta.setTipo("amizade");
		dao.adicionar(alerta);
		
		result.redirectTo(PerfilController.class).perfilUsuario(alerta.getDestinatario());
	}
	
	@MeuPerfil
	@Get @Path("/perfil/alertas")
	public void alertas() {
		List<Alerta> alertas = dao.listarTodos(usuarioWeb.getUser());
		result.include("alertas", alertas);
	}
	
}
